###***********+++**##*******+++**+*##**###***************+++++++++++*
##**********#*+++**#%#*****+++++++*####***#**+****++++++++++++++====*
**#*********###*##%%%*************###********+++++++++++++++++++++++*
**************####**+++****##*****++++++++++++++++++++++++++++++++++*
#*******#******#*+====+**#%#++++++++++++++++****+++++++++++++++++--=*
##**************++=-==+#**********************+++++++++++++++++++===*
#**************++**-==+*##*####**+*****+++++++++++++++++++++++++++++*
***************##**+==++###%#*#*++++==+++++++++=-:=+++==++++++++++++*
************++#%***+++++###%#*##+*+++++++++++++===++++==++++++++++++*
*+************##**+++++*+++%#**%**##***+++++++++++++++++++++********#
*+************###**********#%#*+++++**++======++++++++**************#
**************###########***+*+++++=+*+++++++++===+++***************#
**************####*##*****++***********************+++++************#
**************###**********************########***####****+++++*****#
**************###*******************########%%############******++**#
***************#******************###################################
***************#**********************##############%%%%%#########%%%
***************##**********************###############%%%%%%######%%%
***************######*****************#####################%%%%%%%%%%
*******###############****************###################%%%%%%%%%%%%
######################*******************############%%%%%%%%%%%%%%%@
#######################********************#########%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%###########%#%%%%%%%%%%%%%%%%%%%%%%%%%@@%@